The present invention relates generally to methods and systems for blending computer generated graphics objects and more particularly to methods and apparatus for blending computer generated graphics objects in a frame buffer.
A computer system can output data to a wide variety of output display devices. Output display devices such as laser printers, plotters, image setters and other printing devices produce an image or "visual representation" onto a sheet of paper, a piece of film or the like, while output display devices such as computer monitors develop visual representations on a computer screen.
Many output display devices receive display data in the form of a "pixelmap" and generate visual representations from the display data. A pixel is a fundamental picture element of a visual representation generated by a display device, and a pixelmap is a data structure including information concerning a number of pixels of the representation.
A printing device prints dots on a piece of paper corresponding to the information in a pixelmap. Alternatively, a computer monitor illuminates pixels based upon the information of the pixelmap. A "raster" output device creates a visual representation by displaying the array of pixels arranged in rows and columns from a pixelmap. Most output devices, other than plotters, are raster output devices.
Printing and visual output devices that produce output in response to page description language input are widely used. A page description language is a high level language for describing objects to be displayed by an output device. The PostScript.RTM. language developed by Adobe Systems Incorporated of San Jose, Calif., is an example of a page description language. An image to be displayed may be represented and stored in a page description format as a page description language file which includes one or more objects. Generally, a page description language is device independent.
In operation, a conventional printing device configured to process a page description language file interprets the objects within the file and renders the data into a pixelmap to be painted into a frame buffer. Typically, the frame buffer is large enough to store (at least in compressed form) any page that might be printed, and rendered pixelmaps are stored in this buffer. When the entire page has been painted, data stored in the frame buffer may transferred to a print engine or marking engine for printing.
Transparency is a visual blending effect obtained when a background object (image, text, lines or filled regions) is partially obscured by a foreground object that is drawn over the background object. Numerous other blending effects may be used to integrate foreground and background graphics data. Examples of blending effects include a drop shadow effect, a screen effect, darker and lighter effects and overprinting effects.
The manipulation of graphics data at a printer or output display to achieve blending effects typically requires a large amount of memory. Some printing devices include limited memory or shallow frame buffers for performance reasons and thus hereto before were incapable of processing a blending operation at the printer.